/**
 * @file uva/10910/main.cpp
 * @author Ruiming Guo (guoruiming@stu.scu.edu.cn)
 * @brief 一个学生选修了 N 门课程，
 * 一共得到了 T 分
 * 已知他都及格了
 * 给出各门课程的及格分数线
 * 问该学生可能的成绩组合的种类数
 * @version 0.1
 * @date 2022-04-29
 *
 * @copyright Copyright (c) 2022
 *
 */

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
  int tc;
  cin >> tc;
  while (tc--) {
    ll x, y, z;
    cin >> x >> y >> z;
    y -= x * z;
    ll ans = 0;
    if (y >= 0) {
      ans = 1;
      ll now = y + x - 1 - max(x - 1, y);
      ll tot = 1;
      for (int i = 1; i <= now; ++i) {
        tot *= i;
        ans *= (y + x - i);
        ll hel = __gcd(tot, ans);
        tot /= hel;
        ans /= hel;
      }
    }
    cout << ans << endl;
  }
}
